#ifndef TRIANGLE_H
#define TRIANGLE_H

#include "Vertex3D.h"
#include "Util.h"
#include "Types.h"
#include <vector>
using namespace std;

class Triangle {

 private:
  Vertex3D* _verts[3];
  GLdouble _normal[3];
	/**Indicate the state of the triangle*/
	TState state;	

 public:
  Triangle ();
  Triangle (const Triangle& f);
  Triangle (Vertex3D** vertices);
  ~Triangle ();

  Vertex3D* vertex (int index) const;
	
	void compute_normal ();
  GLdouble* normal();
	Vertex3D normalv();
	bool adyacent(Triangle *);
};

#endif
